#include "stdio.h"
#include "queue.c"
#include "queue.h"

// 模拟ADC采样中断服务程序（生产数据）
void ADC_Simulation(CircularQueue *q) {
    static float simulated_adc = 0.0f;
    for (int i = 0; i < 10; i++) {  // 故意采样150次测试覆盖
        enqueue(q, simulated_adc);
        simulated_adc += 0.5f;
    }
}

// 模拟主程序处理（消费数据）
void Main_Process(CircularQueue *q) {
    float temp;
    printf("Dequeued data:\n");
    while (dequeue(q, &temp)) {  // 持续出队直到队列为空
        printf("%.1f ", temp);
    }
    printf("\n");
}

int main() {
    CircularQueue q;
    init_queue(&q);
    
    // 测试场景：先插入150个数据，再全部取出
    ADC_Simulation(&q);
    Main_Process(&q);
    
    return 0;
}